package com.cmc.cloud.cmclink.doc.convert;

import com.cmc.cloud.cmclink.doc.api.document.rep.SoSplitCombineAllRespDto;
import com.cmc.cloud.cmclink.doc.api.document.rep.SoSplitCombinePageRespDto;
import com.cmc.cloud.cmclink.doc.api.document.req.so.SoSplitCombinePageReqDto;
import com.cmc.cloud.cmclink.doc.entity.SoSplitCombineDO;
import com.cmc.cloud.cmclink.doc.vo.sovo.sosplitcombinedetailvo.*;
import com.cmes.framework.common.pojo.PageResult;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 订舱拆分合并记录表   Convert
 *
 * @author 招商轮船-管理员
 */
@Mapper
public interface SoSplitCombineConvert {

    SoSplitCombineConvert INSTANCE = Mappers.getMapper(SoSplitCombineConvert.class);

    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    SoSplitCombineDO convert(SoSplitCombineCreateReqVO bean);

    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    SoSplitCombineDO convert(SoSplitCombineUpdateReqVO bean);

    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    SoSplitCombineRespVO convert(SoSplitCombineDO bean);

    /**
     * 属性转换 convert
     *
     * @param list
     * @return
     */
    List<SoSplitCombineRespVO> convertList(List<SoSplitCombineDO> list);
    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    SoSplitCombineAllRespDto convert(SoSplitCombineAllRespVO bean);
    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    SoSplitCombinePageReqVO convert(SoSplitCombinePageReqDto bean);
    /**
     * 属性转换 convert
     *
     * @param bean
     * @return
     */
    PageResult<SoSplitCombinePageRespDto>  convert(PageResult<SoSplitCombinePageRespVO> bean);

}
